A communication network is a geographically distributed collection of nodes interconnected by communication links and segments for transporting communications (e.g., data, voice, video) between communication units (end nodes), such as personal computers, certain telephones, personal digital assistants (PDAs), video units and the like. Many types of communication networks are available, with the types ranging from local area networks (LANs) to wide area networks (WANs). LANs typically connect nodes over dedicated private communications links located in the same general geographical location, such as a building or campus. WANs, on the other hand, typically connect large numbers of geographically dispersed nodes over long-distance communications links, such as common carrier telephone lines. The Internet is an example of a WAN that connects networks throughout the world, providing global communication between nodes on various networks. The nodes typically communicate over the network by exchanging discrete frames or packets of data according to predefined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP). In this context, a protocol is a set of rules defining how the nodes interact with each other.
Some network protocols utilize a client/server model that utilizes sessions to communicate information between a client and a server. For example, the Dynamic Host Configuration Protocol (DHCP) utilizes a DHCP session to communicate configuration information between a client and a DHCP server. In accordance with DHCP, the client issues a DHCPDISCOVER message to request configuration information from the DHCP server. The server receives the DHCPDISCOVER message, generates a DHCPOFFER message containing the configuration information and forwards the DHCPOFFER message to the client. The DHCPOFFER message acts as an “offer” of configuration information to the client which the client may choose to accept or deny.
The client receives the DHCPOFFER message and, if it chooses to accept the offered configuration information, responds to the server with a DHCPREQUEST message. The DHCPREQUEST message indicates to the server that the client has accepted the server's offer. The server receives the DHCPREQUEST message and responds to the client with a DHCPACK message to acknowledge the client's acceptance. The client receives the DHCPACK message. At this point, a DHCP session is established between the client and the server.
The client may later choose to terminate the DHCP session by generating and forwarding a DHCPRELEASE message to the server. The server receives the DHCPRELEASE message and terminates the session.
The configuration information may be provided to the client on a “leased”, basis. That is, the server may impose a time limit as to how long the client may use the information. Further, the server may allow the client to keep the information beyond the time limit provided the client “renews” its lease with the server before the time limit expires. If the client fails to renew its lease on time, the configuration information is no longer considered allocated to the client and the client must cease its use.
In some circumstances, the client may no longer need the configuration information prior to the expiration of the time limit. Here, the client may “release” the information for use by other clients in the system by notifying the server that it no longer needs the configuration information. In DHCP, for example, if a client no longer needs configuration information supplied to the client by a DHCP server, the client may “release” the configuration information by generating a DHCPRELEASE message and forwarding the DHCPRELEASE message to the DHCP server. On receiving the DHCPRELEASE message, the DHCP server knows that the client no longer wishes to use the configuration information and can safely-allocate the configuration information to a different client.